package com.css.dzj.dzjfxyj.modules.reply.entitiy;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;

import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "JG_FXYJ_FEEDBACK", schema = "FXYJ", catalog = "")
public class JgFxyjFeedbackEntity {
    private String uuid;
    private String fxyjId;
    private String fxyjFeedbackId;
    private String fxyjObjectType;
    private String fxyjObjectId;
    private Date responseTime;
    private String fxyjStates;
    private String fxyjDetails;
    private String fxyjCheckId;
    private String checkActionCode;
    private String punishActionCode;
    private String forceActionCode;
    private String actionCode;
    private String fxyjOperator;
    private String fxyjOperatorType;
    private String fxyjCheckName;
    private String fxyjResult;
    private Date fxyjEnd;
    private String fxyjRefuse;
    private Date createTime;
    private String createPreson;
    private Date updateTime;
    private String updatePerson;
    private String fbId;
    private String delFlag;
    private String taskId;

    @Id
    @Column(name = "UUID")
    @GeneratedValue(generator = "SnowflakeId")
    @GenericGenerator(name = "SnowflakeId",strategy = "com.css.dzj.dzjfxyj.common.util.SnowflakeId")
    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    @Basic
    @Column(name = "Fxyj_Id")
    public String getFxyjId() {
        return fxyjId;
    }

    public void setFxyjId(String fxyjId) {
        this.fxyjId = fxyjId;
    }

    @Basic
    @Column(name = "Fxyj_Feedback_Id")
    public String getFxyjFeedbackId() {
        return fxyjFeedbackId;
    }

    public void setFxyjFeedbackId(String fxyjFeedbackId) {
        this.fxyjFeedbackId = fxyjFeedbackId;
    }

    @Basic
    @Column(name = "Fxyj_Object_Type")
    public String getFxyjObjectType() {
        return fxyjObjectType;
    }

    public void setFxyjObjectType(String fxyjObjectType) {
        this.fxyjObjectType = fxyjObjectType;
    }

    @Basic
    @Column(name = "Fxyj_Object_Id")
    public String getFxyjObjectId() {
        return fxyjObjectId;
    }

    public void setFxyjObjectId(String fxyjObjectId) {
        this.fxyjObjectId = fxyjObjectId;
    }

    @Basic
    @Column(name = "Response_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getResponseTime() {
        return responseTime;
    }

    public void setResponseTime(Date responseTime) {
        this.responseTime = responseTime;
    }

    @Basic
    @Column(name = "Fxyj_States")
    public String getFxyjStates() {
        return fxyjStates;
    }

    public void setFxyjStates(String fxyjStates) {
        this.fxyjStates = fxyjStates;
    }

    @Basic
    @Column(name = "Fxyj_Details")
    public String getFxyjDetails() {
        return fxyjDetails;
    }

    public void setFxyjDetails(String fxyjDetails) {
        this.fxyjDetails = fxyjDetails;
    }

    @Basic
    @Column(name = "Fxyj_Check_Id")
    public String getFxyjCheckId() {
        return fxyjCheckId;
    }

    public void setFxyjCheckId(String fxyjCheckId) {
        this.fxyjCheckId = fxyjCheckId;
    }

    @Basic
    @Column(name = "Check_Action_Code")
    public String getCheckActionCode() {
        return checkActionCode;
    }

    public void setCheckActionCode(String checkActionCode) {
        this.checkActionCode = checkActionCode;
    }

    @Basic
    @Column(name = "Punish_Action_Code")
    public String getPunishActionCode() {
        return punishActionCode;
    }

    public void setPunishActionCode(String punishActionCode) {
        this.punishActionCode = punishActionCode;
    }

    @Basic
    @Column(name = "Force_Action_Code")
    public String getForceActionCode() {
        return forceActionCode;
    }

    public void setForceActionCode(String forceActionCode) {
        this.forceActionCode = forceActionCode;
    }

    @Basic
    @Column(name = "Action_Code")
    public String getActionCode() {
        return actionCode;
    }

    public void setActionCode(String actionCode) {
        this.actionCode = actionCode;
    }

    @Basic
    @Column(name = "Fxyj_Operator")
    public String getFxyjOperator() {
        return fxyjOperator;
    }

    public void setFxyjOperator(String fxyjOperator) {
        this.fxyjOperator = fxyjOperator;
    }

    @Basic
    @Column(name = "Fxyj_Operator_Type")
    public String getFxyjOperatorType() {
        return fxyjOperatorType;
    }

    public void setFxyjOperatorType(String fxyjOperatorType) {
        this.fxyjOperatorType = fxyjOperatorType;
    }

    @Basic
    @Column(name = "Fxyj_Check_Name")
    public String getFxyjCheckName() {
        return fxyjCheckName;
    }

    public void setFxyjCheckName(String fxyjCheckName) {
        this.fxyjCheckName = fxyjCheckName;
    }

    @Basic
    @Column(name = "Fxyj_Result")
    public String getFxyjResult() {
        return fxyjResult;
    }

    public void setFxyjResult(String fxyjResult) {
        this.fxyjResult = fxyjResult;
    }

    @Basic
    @Column(name = "Fxyj_End")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getFxyjEnd() {
        return fxyjEnd;
    }

    public void setFxyjEnd(Date fxyjEnd) {
        this.fxyjEnd = fxyjEnd;
    }

    @Basic
    @Column(name = "Fxyj_Refuse")
    public String getFxyjRefuse() {
        return fxyjRefuse;
    }

    public void setFxyjRefuse(String fxyjRefuse) {
        this.fxyjRefuse = fxyjRefuse;
    }

    @Basic
    @Column(name = "Create_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "Create_Preson")
    public String getCreatePreson() {
        return createPreson;
    }

    public void setCreatePreson(String createPreson) {
        this.createPreson = createPreson;
    }

    @Basic
    @Column(name = "Update_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "Update_Person")
    public String getUpdatePerson() {
        return updatePerson;
    }

    public void setUpdatePerson(String updatePerson) {
        this.updatePerson = updatePerson;
    }

    @Basic
    @Column(name = "Fb_Id")
    public String getFbId() {
        return fbId;
    }

    public void setFbId(String fbId) {
        this.fbId = fbId;
    }

    @Basic
    @Column(name = "Task_Id")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "del_Flag")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JgFxyjFeedbackEntity that = (JgFxyjFeedbackEntity) o;
        return Objects.equals(uuid, that.uuid) &&
                Objects.equals(fxyjId, that.fxyjId) &&
                Objects.equals(fxyjFeedbackId, that.fxyjFeedbackId) &&
                Objects.equals(fxyjObjectType, that.fxyjObjectType) &&
                Objects.equals(fxyjObjectId, that.fxyjObjectId) &&
                Objects.equals(responseTime, that.responseTime) &&
                Objects.equals(fxyjStates, that.fxyjStates) &&
                Objects.equals(fxyjDetails, that.fxyjDetails) &&
                Objects.equals(fxyjCheckId, that.fxyjCheckId) &&
                Objects.equals(checkActionCode, that.checkActionCode) &&
                Objects.equals(punishActionCode, that.punishActionCode) &&
                Objects.equals(forceActionCode, that.forceActionCode) &&
                Objects.equals(actionCode, that.actionCode) &&
                Objects.equals(fxyjOperator, that.fxyjOperator) &&
                Objects.equals(fxyjOperatorType, that.fxyjOperatorType) &&
                Objects.equals(fxyjCheckName, that.fxyjCheckName) &&
                Objects.equals(fxyjResult, that.fxyjResult) &&
                Objects.equals(fxyjEnd, that.fxyjEnd) &&
                Objects.equals(fxyjRefuse, that.fxyjRefuse) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(createPreson, that.createPreson) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(updatePerson, that.updatePerson) &&
                Objects.equals(fbId, that.fbId) &&
                Objects.equals(delFlag, that.delFlag)&&
                Objects.equals(taskId, that.taskId)
                ;
    }

    @Override
    public int hashCode() {
        return Objects.hash(uuid, fxyjId, fxyjFeedbackId, fxyjObjectType, fxyjObjectId, responseTime, fxyjStates, fxyjDetails, fxyjCheckId, checkActionCode, punishActionCode, forceActionCode, actionCode, fxyjOperator, fxyjOperatorType, fxyjCheckName, fxyjResult, fxyjEnd, fxyjRefuse, createTime, createPreson, updateTime, updatePerson, fbId, delFlag,taskId);
    }
}
